home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 22 / Amiga Format AFCD22 (Jan 1998, Issue 106).iso / -readerstuff- / d_keletsekis / tools / fastread / fastread.gc next >
Text File  |  1997-10-03  |  3KB  |  145 lines

  1. G4C
  2.  
  3. winbig -1 -1 240 177 "FastRead.gc"
  4. wintype 11010001
  5. usetopaz
  6. varpath "viewtext.g"
  7.  
  8. xonreload
  9. guiopen fastread.gc
  10.  
  11. xonload
  12. extract fastread.gc guipath fre_path
  13. assign GCHELP: $fre_path
  14. delvar fre_path
  15. ttget gchelp:fastread.gc
  16. guiload gchelp:viewtext.g
  17. ifexists port AREXX
  18.     ;Nop
  19. elseifexists file sys:system/rexxmast
  20.     run 'sys:system/rexxmast >nil:'
  21. else
  22.     ezreq "Can't start ARexx" Okay ""
  23.     assign gchelp: remove
  24.     guiquit viewtext.g 
  25.     guiquit fastread.gc   
  26. endif
  27. reqfile -1 -1 200 -60 'Select A Document' load guide GUIS:Docs
  28. if $guide = ''
  29.     assign GCHELP: remove
  30.     guiquit viewtext.g 
  31.     guiquit fastread.gc   
  32. else
  33.     extract guide file list
  34.     appvar list .idx
  35.     joinfile gchelp:idx $list list
  36.     ifexists file c:getnodes
  37.     andifexists file c:writenode
  38.         run 'resident c:getnodes pure add'
  39.         run 'resident c:writenode pure add'
  40.     elseifexists file guis:c/getnodes
  41.     andifexists file guis:c/writenode
  42.         run 'resident guis:c/getnodes pure add'
  43.         run 'resident guis:c/writenode pure add'
  44.     else
  45.         ezreq "Cannot Find Binaries." Okay ""
  46.         gosub fastread.gc exit
  47.     endif
  48.     ifexists file $list
  49.         ;nop
  50.     else
  51.         cli 'getnodes $guide $list'
  52.     endif
  53.     lvuse fastread.gc 1
  54.     lvchange $list
  55.     guiopen fastread.gc
  56.     extract guide file wtitle
  57.     extract wtitle unquote wtitle
  58.     setwintitle fastread.gc "$wtitle                      "
  59. endif
  60.  
  61. xonkey #v
  62. xonkey #r
  63. if $$rawkey.code = 95
  64.     cli 'writenode guis:docs/helpsystem.txt 8655 1826'
  65.     guiopen viewtext.g
  66.     set translation off
  67.     lvuse viewtext.g 1
  68.     lvchange ram:guide.txt
  69. elseif $$rawkey.code = 78
  70.     lvuse fastread.gc 1
  71.     lvmove 1
  72. elseif $$rawkey.code = 79
  73.     lvuse fastread.gc 1
  74.     lvmove -1
  75. endif
  76.  
  77. xonclose
  78. gosub fastread.gc exit
  79.  
  80. xtextin 0 0 180 13   "" txt "" 80
  81. if $txt > ''
  82.     lvuse fastread.gc 1
  83.     lvsearch $txt ci first
  84. endif
  85. gosub fastread.gc search_update
  86.  
  87. xbutton 180 0 20 13 »
  88. if $txt > ''
  89.    lvuse fastread.gc 1
  90.    lvsearch $txt ci next
  91. endif
  92. gosub fastread.gc search_update
  93.  
  94. xbutton 200 0 40 13 Open
  95. reqfile -1 -1 200 -60 'Select A Guide:' load doc GUIS:Docs
  96. ifexists file $doc
  97.     guide = $doc
  98.     extract guide file list
  99.     appvar list .idx
  100.     joinfile gchelp:idx $list list
  101.     ifexists file $list
  102.         ;nop
  103.     else
  104.         cli 'getnodes $guide $list'
  105.     endif
  106.     lvuse fastread.gc 1
  107.     lvchange $list
  108.     extract guide file wtitle
  109.     extract wtitle unquote wtitle
  110.     setwintitle fastread.gc "$wtitle                      "
  111. endif
  112.  
  113. xlistview 0 13 240 170  '' topic '' 0 txt
  114. gadid 1
  115. gosub fastread.gc fetchtext
  116.  
  117. xroutine fetchtext
  118. cutvar topic cut word -2 offset
  119. extract topic upper topic
  120. extract topic unquote topic
  121. cli 'writenode $guide $offset'
  122. guiopen viewtext.g
  123. update viewtext.g 2 "Subject: $topic"
  124. set translation off
  125. lvuse viewtext.g 1
  126. lvchange ram:guide.txt
  127.  
  128. xroutine search_update
  129. if $$lv.line > ''
  130.    update fastread.gc 1 $$lv.line
  131. else
  132.    lvgo #0
  133.    update fastread.gc 1 0
  134. endif
  135.  
  136. xroutine exit
  137. assign GCHELP: remove
  138. run 'resident getnodes remove'
  139. run 'resident writenode remove'
  140. ifexists file ram:guide.txt
  141.     delete ram:guide.txt
  142. endif
  143. guiquit viewtext.g 
  144. guiquit fastread.gc   
  145.